PictureFrame ব্যবহার করে ছবি ম্যানিপুলেশন

Java Technologies - অ্যাপাচি পিওআই (পাওয়ারপয়েন্ট) ছবি (Images) যোগ করা |
127
127

Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের স্লাইডে ছবি যোগ করতে পারেন এবং PictureFrame এর মাধ্যমে ছবির অবস্থান, আকার এবং অন্যান্য গুণাবলী পরিবর্তন করতে পারেন। PictureFrame ব্যবহার করে আপনি ছবির আকার পরিবর্তন, রিসাইজ, রোটেট, এবং অন্যান্য ম্যানিপুলেশন করতে পারবেন।

এখানে Apache POI এর মাধ্যমে PowerPoint (PPTX) ফাইলের স্লাইডে ছবি যোগ করার এবং ছবি ম্যানিপুলেশন করার উদাহরণ দেওয়া হয়েছে।


PowerPoint স্লাইডে ছবি যোগ করা - PictureFrame ব্যবহার করে

PictureFrame ব্যবহার করে PowerPoint স্লাইডে ছবি যোগ করতে, XSLF API ব্যবহার করা হয় (PowerPoint 2007 এবং তার পরবর্তী সংস্করণ - PPTX)।

১. PictureFrame ব্যবহার করে ছবি যোগ করা এবং সেটিংস পরিবর্তন করা

নীচে একটি উদাহরণ দেওয়া হলো, যেখানে XSLF API ব্যবহার করে PowerPoint স্লাইডে ছবি যোগ করা হচ্ছে এবং তার আকার এবং অবস্থান পরিবর্তন করা হচ্ছে:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.PictureData;
import java.io.*;

public class PowerPointPictureManipulation {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // ছবির ইনপুট স্ট্রীম
        InputStream imageStream = new FileInputStream("image.jpg");
        byte[] pictureData = imageStream.readAllBytes();

        // ছবিটি PPTX ফাইলে যুক্ত করা
        int pictureIndex = ppt.addPicture(pictureData, PictureData.PictureType.JPEG);

        // ছবির আকার এবং অবস্থান নির্ধারণ করা
        XSLFPictureData picture = ppt.createPicture(pictureIndex);
        picture.setAnchor(new java.awt.Rectangle(100, 100, 400, 300)); // Position and size

        // ফাইল সংরক্ষণ করা
        FileOutputStream out = new FileOutputStream("picture_in_pptx.pptx");
        ppt.write(out);
        out.close();

        System.out.println("PowerPoint ফাইল তৈরি এবং ছবি যোগ করা হয়েছে!");
    }
}

কোড বিশ্লেষণ:

  • XSLFPictureData picture: এখানে একটি PictureFrame তৈরি করা হয়েছে, যা ছবির ডেটা ধারণ করে।
  • setAnchor(): এটি ছবির অবস্থান এবং আকার নির্ধারণ করে। new java.awt.Rectangle(x, y, width, height) এর মাধ্যমে ছবির অবস্থান এবং আকার কনফিগার করা হয়েছে।

এটি PowerPoint স্লাইডে একটি ছবি যোগ করবে এবং তার আকার ও অবস্থান নির্ধারণ করবে।


PowerPoint স্লাইডে ছবি রোটেট করা

PowerPoint স্লাইডে ছবির রোটেশন করতে, আপনি XSLFPicture (যেটি PictureFrame এর উপধারা) ব্যবহার করে ছবিটি রোটেট করতে পারেন। যদিও Apache POI সরাসরি রোটেশন করার জন্য কোনো মেথড সরবরাহ করে না, তবে আপনি ছবির অবস্থান পরিবর্তন করে রোটেশন সিমুলেট করতে পারেন।

নোট: XSLF API তে ছবি রোটেট করার জন্য কোনো সরাসরি মেথড নেই, তবে আপনি ছবির সঠিক অবস্থান এবং সাইজের সাথে কিছু পরিবর্তন করে চিহ্নিত রোটেশন ইফেক্ট সিমুলেট করতে পারেন।


PowerPoint স্লাইডে ছবি রিসাইজ করা

PictureFrame ব্যবহার করে ছবির আকার পরিবর্তন করার জন্য, setAnchor() মেথডে নতুন আকার নির্ধারণ করা হয়।

// নতুন আকারে ছবির সাইজ পরিবর্তন করা
picture.setAnchor(new java.awt.Rectangle(200, 200, 600, 450)); // New size (width=600, height=450)

এই কোডের মাধ্যমে ছবির আকার পরিবর্তন করা হবে। আপনি এখানে width এবং height মান পরিবর্তন করে ছবির আকার কমাতে বা বাড়াতে পারেন।


PowerPoint স্লাইডে ছবি এবং টেক্সট ম্যানিপুলেশন একসাথে

এখানে একটি উদাহরণ দেওয়া হলো, যেখানে PowerPoint স্লাইডে ছবি এবং টেক্সট একসাথে ব্যবহার করা হচ্ছে।

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.PictureData;
import java.awt.Color;
import java.io.*;

public class PowerPointTextAndPictureExample {
    public static void main(String[] args) throws IOException {
        // নতুন PowerPoint তৈরি করা
        XMLSlideShow ppt = new XMLSlideShow();

        // স্লাইড তৈরি করা
        XSLFSlide slide = ppt.createSlide();

        // ছবি যোগ করা
        InputStream imageStream = new FileInputStream("image.jpg");
        byte[] pictureData = imageStream.readAllBytes();
        int pictureIndex = ppt.addPicture(pictureData, PictureData.PictureType.JPEG);

        XSLFPictureData picture = ppt.createPicture(pictureIndex);
        picture.setAnchor(new java.awt.Rectangle(100, 100, 400, 300)); // Image Position and Size

        // টেক্সট বক্স তৈরি করা
        XSLFTextBox textBox = slide.createTextBox();
        textBox.setText("Hello, this is a formatted text box!");

        // টেক্সট ফরম্যাটিং
        XSLFTextParagraph p = textBox.addNewTextParagraph();
        XSLFTextRun r = p.addNewTextRun();
        r.setFontSize(20.0);
        r.setFontColor(Color.RED);
        r.setText("Formatted Text Example");

        // টেক্সট বক্সের অবস্থান নির্ধারণ
        textBox.setAnchor(new java.awt.Rectangle(150, 450, 400, 50));

        // ফাইল সংরক্ষণ করা
        FileOutputStream out = new FileOutputStream("image_and_text.pptx");
        ppt.write(out);
        out.close();

        System.out.println("PowerPoint ফাইল তৈরি এবং ছবি ও টেক্সট যোগ করা হয়েছে!");
    }
}

কোড বিশ্লেষণ:

  • XSLFPictureData picture: ছবির জন্য PictureFrame তৈরি করা হয়েছে, যা PowerPoint স্লাইডে ছবি যোগ করতে ব্যবহৃত হয়েছে।
  • XSLFTextBox textBox: এটি PowerPoint স্লাইডে একটি টেক্সট বক্স তৈরি করতে ব্যবহৃত হয়েছে।
  • setFontSize এবং setFontColor: টেক্সটের আকার এবং রঙ পরিবর্তন করা হয়েছে।

সারাংশ

Apache POI এর XSLF API ব্যবহার করে আপনি PowerPoint স্লাইডে ছবি যোগ করতে পারেন এবং PictureFrame এর মাধ্যমে ছবির আকার, অবস্থান এবং অন্যান্য বৈশিষ্ট্য ম্যানিপুলেট করতে পারেন। আপনি ছবির সাইজ পরিবর্তন, রিসাইজ, রোটেশন এবং টেক্সট ম্যানিপুলেশন একত্রে করতে পারেন। এই ফিচারগুলি PowerPoint ফাইল তৈরি এবং সম্পাদনা করতে সহজ এবং শক্তিশালী উপায় সরবরাহ করে।


আপনার যদি আরও কোন প্রশ্ন থাকে বা নির্দিষ্ট কোনো উদাহরণ সম্পর্কে জানতে চান, আমাকে জানাতে পারেন!

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion